home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d880.lha / Oberon / O3Demo2.lzh / Definitions / Intuition.def < prev    next >
Text File  |  1993-01-15  |  39KB  |  1,410 lines

  1. DEFINITION Intuition;
  2.  
  3. IMPORT
  4.   e := Exec,
  5.   g := Graphics,
  6.   ie := InputEvent,
  7.   t := Timer,
  8.   u := Utility,
  9.   km := KeyMap;
  10.  
  11. TYPE
  12.   MenuPtr = UNTRACED POINTER TO Menu;
  13.   MenuItemPtr = UNTRACED POINTER TO MenuItem;
  14.   RequesterPtr = UNTRACED POINTER TO Requester;
  15.   GadgetPtr = UNTRACED POINTER TO Gadget;
  16.   GadSpecialInfoPtr = UNTRACED POINTER TO GadSpecialInfo;
  17.   BoolInfoPtr = UNTRACED POINTER TO BoolInfo;
  18.   PropInfoPtr = UNTRACED POINTER TO PropInfo;
  19.   StringInfoPtr = UNTRACED POINTER TO StringInfo;
  20.   IntuiTextPtr = UNTRACED POINTER TO IntuiText;
  21.   BorderPtr = UNTRACED POINTER TO Border;
  22.   ImagePtr = UNTRACED POINTER TO Image;
  23.   IntuiMessagePtr = UNTRACED POINTER TO IntuiMessage;
  24.   IBoxPtr = UNTRACED POINTER TO IBox;
  25.   WindowPtr = UNTRACED POINTER TO Window;
  26.   NewWindowPtr = UNTRACED POINTER TO NewWindow;
  27.   ExtNewWindowPtr = UNTRACED POINTER TO ExtNewWindow;
  28.   RememberPtr = UNTRACED POINTER TO Remember;
  29.   ColorSpecPtr = UNTRACED POINTER TO ColorSpec;
  30.   EasyStructPtr = UNTRACED POINTER TO EasyStruct;
  31.   GadgetInfoPtr = UNTRACED POINTER TO GadgetInfo;
  32.   PGXPtr = UNTRACED POINTER TO PGX;
  33.   MsgPtr = UNTRACED POINTER TO Msg;
  34.   OpSetPtr = UNTRACED POINTER TO OpSet;
  35.   OpUpdatePtr = UNTRACED POINTER TO OpUpdate;
  36.   OpGetPtr = UNTRACED POINTER TO OpGet;
  37.   OpAddTailPtr = UNTRACED POINTER TO OpAddTail;
  38.   OpMemberPtr = UNTRACED POINTER TO OpMember;
  39.   IClassPtr = UNTRACED POINTER TO IClass;
  40.   ObjectPtr = UNTRACED POINTER TO Object;
  41.   HitTestPtr = UNTRACED POINTER TO HitTest;
  42.   RenderPtr = UNTRACED POINTER TO Render;
  43.   InputPtr = UNTRACED POINTER TO Input;
  44.   GoInactivePtr = UNTRACED POINTER TO GoInactive;
  45.   FrameBoxPtr = UNTRACED POINTER TO FrameBox;
  46.   DrawPtr = UNTRACED POINTER TO Draw;
  47.   ErasePtr = UNTRACED POINTER TO Erase;
  48.   IMHitTestPtr = UNTRACED POINTER TO IMHitTest;
  49.   PreferencesPtr = UNTRACED POINTER TO Preferences;
  50.   DrawInfoPtr = UNTRACED POINTER TO DrawInfo;
  51.   ScreenPtr = UNTRACED POINTER TO Screen;
  52.   NewScreenPtr = UNTRACED POINTER TO NewScreen;
  53.   ExtNewScreenPtr = UNTRACED POINTER TO ExtNewScreen;
  54.   PubScreenNodePtr = UNTRACED POINTER TO PubScreenNode;
  55.   StringExtendPtr = UNTRACED POINTER TO StringExtend;
  56.   SGWorkPtr = UNTRACED POINTER TO SGWork;
  57.   IntuitionBasePtr = UNTRACED POINTER TO IntuitionBase;
  58.   Menu = STRUCT 
  59.     nextMenu : MenuPtr;
  60.     leftEdge,topEdge : INTEGER;
  61.     width,height : INTEGER;
  62.     flags : SET;
  63.     menuName : e.STRPTR;
  64.     firstItem : MenuItemPtr;
  65.     jazzX,jazzY,beatX,beatY : INTEGER;
  66.   END;
  67.  
  68. CONST
  69.   menuEnabled = 0;
  70.   miDrawn = 8;
  71.  
  72. TYPE
  73.   MenuItem = STRUCT 
  74.     nextItem : MenuItemPtr;
  75.     leftEdge,topEdge : INTEGER;
  76.     width,height : INTEGER;
  77.     flags : SET;
  78.     mutualExclude : LONGSET;
  79.     itemFill : e.APTR;
  80.     selectFill : e.APTR;
  81.     command : CHAR;
  82.     subItem : MenuItemPtr;
  83.     nextSelect : INTEGER;
  84.   END;
  85.  
  86. CONST
  87.   checkIt = 0;
  88.   itemText = 1;
  89.   commSeq = 2;
  90.   menuToggle = 3;
  91.   itemEnabled = 4;
  92.   highFlags = {6, 7};
  93.   highImage = {};
  94.   highComp = 6;
  95.   highBox = 7;
  96.   highNone = {highBox, highComp};
  97.   checked = 8;
  98.   isDrawn = 12;
  99.   highItem = 13;
  100.   menuToggled = 14;
  101.  
  102. TYPE
  103.   Requester = STRUCT 
  104.     olderRequest : RequesterPtr;
  105.     leftEdge,topEdge : INTEGER;
  106.     width,height : INTEGER;
  107.     relLeft,relTop : INTEGER;
  108.     reqGadget : GadgetPtr;
  109.     reqBorder : BorderPtr;
  110.     reqText : IntuiTextPtr;
  111.     flags : SET;
  112.     backFill : SHORTINT;
  113.     reqLayer : g.LayerPtr;
  114.     reqPad1 : ARRAY 32 OF e.BYTE;
  115.     imageBMap : g.BitMapPtr;
  116.     rWindow : WindowPtr;
  117.     reqImage : ImagePtr;
  118.     reqPad2 : ARRAY 32 OF e.BYTE;
  119.   END;
  120.  
  121. CONST
  122.   pointRel = 0;
  123.   preDrawn = 1;
  124.   noisyReq = 2;
  125.   simpleReq = 4;
  126.   useReqImage = 5;
  127.   noReqBackFill = 6;
  128.   reqOffWindow = 12;
  129.   reqActive = 13;
  130.   sysRequest = 14;
  131.   deferRefresh = 15;
  132.  
  133. TYPE
  134.   Gadget = STRUCT 
  135.     nextGadget : GadgetPtr;
  136.     leftEdge,topEdge : INTEGER;
  137.     width,height : INTEGER;
  138.     flags : SET;
  139.     activation : SET;
  140.     gadgetType : INTEGER;
  141.     gadgetRender : e.APTR;
  142.     selectRender : e.APTR;
  143.     gadgetText : IntuiTextPtr;
  144.     mutualExclude : LONGSET;
  145.     specialInfo : GadSpecialInfoPtr;
  146.     gadgetID : INTEGER;
  147.     userData : e.APTR;
  148.   END;
  149.   GadSpecialInfo = STRUCT 
  150.   END;
  151.  
  152. CONST
  153.   gadgHighBits = {0, 1};
  154.   gadgHComp = {};
  155.   gadgHBox = 0;
  156.   gadgHImage = 1;
  157.   gadgHNone = {0, 1};
  158.   gadgImage = 2;
  159.   gRelBottom = 3;
  160.   gRelRight = 4;
  161.   gRelWidth = 5;
  162.   gRelHeight = 6;
  163.   selected = 7;
  164.   gadgDisabled = 8;
  165.   labelMask = {12, 13};
  166.   labelIText = {};
  167.   labelString = 12;
  168.   labelImage = 13;
  169.   tabCycle = 9;
  170.   stringExtend = 10;
  171.   relVerify = 0;
  172.   gadgImmediate = 1;
  173.   endGadget = 2;
  174.   followMouse = 3;
  175.   rightBorder = 4;
  176.   leftBorder = 5;
  177.   topBorder = 6;
  178.   bottomBorder = 7;
  179.   borderSniff = 15;
  180.   toggleSelect = 8;
  181.   boolExtend = 13;
  182.   stringLeft = {};
  183.   stringCenter = 9;
  184.   stringRight = 10;
  185.   longint = 11;
  186.   altKeyMap = 12;
  187.   actStringExtend = 13;
  188.   activeGadget = 14;
  189.   gadgetType = 0FC00U;
  190.   sysGadget = 08000U;
  191.   scrGadget = 04000U;
  192.   gzzGadget = 02000U;
  193.   reqGadget = 01000U;
  194.   sizing = 00010U;
  195.   wDragging = 00020U;
  196.   sDragging = 00030U;
  197.   wUpFront = 00040U;
  198.   sUpFront = 00050U;
  199.   wDownBack = 00060U;
  200.   sDownBack = 00070U;
  201.   close = 00080U;
  202.   boolGadget = 00001U;
  203.   gadget0002 = 00002U;
  204.   propGadget = 00003U;
  205.   strGadget = 00004U;
  206.   customGadget = 00005U;
  207.   gTypeMask = 00007U;
  208.  
  209. TYPE
  210.   BoolInfo = STRUCT 
  211.     flags : SET;
  212.     mask : e.APTR;
  213.     reserved : LONGINT;
  214.   END;
  215.  
  216. CONST
  217.   boolMask = 0;
  218.  
  219. TYPE
  220.   PropInfo = STRUCT 
  221.     flags : SET;
  222.     horizPot : INTEGER;
  223.     vertPot : INTEGER;
  224.     horizBody : INTEGER;
  225.     vertBody : INTEGER;
  226.     cWidth : INTEGER;
  227.     cHeight : INTEGER;
  228.     hPotRes,vPotRes : INTEGER;
  229.     leftBorder : INTEGER;
  230.     topBorder : INTEGER;
  231.   END;
  232.  
  233. CONST
  234.   autoKnob = 0;
  235.   freeHoriz = 1;
  236.   freeVert = 2;
  237.   propBorderless = 3;
  238.   knobHit = 8;
  239.   propNewLook = 4;
  240.   knobHmin = 6;
  241.   knobVmin = 4;
  242.   maxBody = 0FFFFU;
  243.   maxPot = 0FFFFU;
  244.  
  245. TYPE
  246.   StringInfo = STRUCT 
  247.     buffer : e.STRPTR;
  248.     undoBuffer : e.STRPTR;
  249.     bufferPos : INTEGER;
  250.     maxChars : INTEGER;
  251.     dispPos : INTEGER;
  252.     undoPos : INTEGER;
  253.     numChars : INTEGER;
  254.     dispCount : INTEGER;
  255.     cLeft,cTop : INTEGER;
  256.     extension : StringExtendPtr;
  257.     longInt : LONGINT;
  258.     altKeyMap : km.KeyMapPtr;
  259.   END;
  260.   IntuiText = STRUCT 
  261.     frontPen,backPen : SHORTINT;
  262.     drawMode : SHORTSET;
  263.     leftEdge : INTEGER;
  264.     topEdge : INTEGER;
  265.     iTextFont : g.TextAttrPtr;
  266.     iText : e.STRPTR;
  267.     nextText : IntuiTextPtr;
  268.   END;
  269.   Border = STRUCT 
  270.     leftEdge,topEdge : INTEGER;
  271.     frontPen,backPen : SHORTINT;
  272.     drawMode : SHORTSET;
  273.     count : SHORTINT;
  274.     xy : e.APTR;
  275.     nextBorder : BorderPtr;
  276.   END;
  277.   Image = STRUCT 
  278.     leftEdge : INTEGER;
  279.     topEdge : INTEGER;
  280.     width : INTEGER;
  281.     height : INTEGER;
  282.     depth : INTEGER;
  283.     imageData : e.APTR;
  284.     planePick,planeOnOff : SHORTSET;
  285.     nextImage : ImagePtr;
  286.   END;
  287.   IntuiMessage = STRUCT (execMessage : e.Message) 
  288.     class : LONGSET;
  289.     code : INTEGER;
  290.     qualifier : SET;
  291.     iAddress : e.APTR;
  292.     mouseX,mouseY : INTEGER;
  293.     time : t.TimeVal;
  294.     idcmpWindow : WindowPtr;
  295.     specialLink : IntuiMessagePtr;
  296.   END;
  297.  
  298. CONST
  299.   sizeVerify = 0;
  300.   newSize = 1;
  301.   refreshWindow = 2;
  302.   mouseButtons = 3;
  303.   mouseMove = 4;
  304.   gadgetDown = 5;
  305.   gadgetUp = 6;
  306.   reqSet = 7;
  307.   menuPick = 8;
  308.   closeWindow = 9;
  309.   rawKey = 10;
  310.   reqVerify = 11;
  311.   reqClear = 12;
  312.   menuVerify = 13;
  313.   newPrefs = 14;
  314.   diskInserted = 15;
  315.   diskRemoved = 16;
  316.   wbenchMessage = 17;
  317.   activeWindow = 18;
  318.   inactiveWindow = 19;
  319.   deltaMove = 20;
  320.   vanillaKey = 21;
  321.   intuiTicks = 22;
  322.   idcmpUpdate = 23;
  323.   menuHelp = 24;
  324.   changeWindow = 25;
  325.   lonelyMessage = 31;
  326.   menuHot = 0001H;
  327.   menuCancel = 0002H;
  328.   menuWaiting = 0003H;
  329.   okOk = menuHot;
  330.   okAbort = 0004H;
  331.   okCancel = menuCancel;
  332.   wbenchOpen = 0001H;
  333.   wbenchClose = 0002H;
  334.  
  335. TYPE
  336.   IBox = STRUCT 
  337.     left : INTEGER;
  338.     top : INTEGER;
  339.     width : INTEGER;
  340.     height : INTEGER;
  341.   END;
  342.   Window = STRUCT 
  343.     nextWindow : WindowPtr;
  344.     leftEdge,topEdge : INTEGER;
  345.     width,height : INTEGER;
  346.     mouseY,mouseX : INTEGER;
  347.     minWidth,minHeight : INTEGER;
  348.     maxWidth,maxHeight : INTEGER;
  349.     flags : LONGSET;
  350.     menuStrip : MenuPtr;
  351.     title : e.STRPTR;
  352.     firstRequest : RequesterPtr;
  353.     dmRequest : RequesterPtr;
  354.     reqCount : INTEGER;
  355.     wScreen : ScreenPtr;
  356.     rPort : g.RastPortPtr;
  357.     borderLeft,borderTop,borderRight,borderBottom : SHORTINT;
  358.     borderRPort : g.RastPortPtr;
  359.     firstGadget : GadgetPtr;
  360.     parent,descendant : WindowPtr;
  361.     pointer : e.APTR;
  362.     ptrHeight : SHORTINT;
  363.     ptrWidth : SHORTINT;
  364.     xOffset,yOffset : SHORTINT;
  365.     idcmpFlags : LONGSET;
  366.     userPort : e.MsgPortPtr;
  367.     windowPort : e.MsgPortPtr;
  368.     messageKey : IntuiMessagePtr;
  369.     detailPen,blockPen : SHORTINT;
  370.     checkMark : ImagePtr;
  371.     screenTitle : e.STRPTR;
  372.     gzzMouseX : INTEGER;
  373.     gzzMouseY : INTEGER;
  374.     gzzWidth : INTEGER;
  375.     gzzHeight : INTEGER;
  376.     extData : e.APTR;
  377.     userData : e.APTR;
  378.     wLayer : g.LayerPtr;
  379.     iFont : g.TextFontPtr;
  380.     moreFlags : LONGSET;
  381.   END;
  382.  
  383. CONST
  384.   windowSizing = 0;
  385.   windowDrag = 1;
  386.   windowDepth = 2;
  387.   windowClose = 3;
  388.   sizeBRight = 4;
  389.   sizeBBottom = 5;
  390.   refreshBits = LONGSET{6, 7};
  391.   smartRefresh = LONGSET{};
  392.   simpleRefresh = 6;
  393.   superBitMap = 7;
  394.   otherRefresh = LONGSET{6, 7};
  395.   backDrop = 8;
  396.   reportMouse = 9;
  397.   gimmeZeroZero = 10;
  398.   borderless = 11;
  399.   activate = 12;
  400.   windowActive = 13;
  401.   inRequest = 14;
  402.   menuState = 15;
  403.   rmbTrap = 16;
  404.   noCareRefresh = 17;
  405.   windowRefresh = 24;
  406.   wbenchWindow = 25;
  407.   windowTicked = 26;
  408.   nwExtended = 18;
  409.   visitor = 27;
  410.   zoomed = 28;
  411.   hasZoom = 29;
  412.   defaultMouseQueue = 5;
  413.  
  414. TYPE
  415.   NewWindow = STRUCT 
  416.     leftEdge,topEdge : INTEGER;
  417.     width,height : INTEGER;
  418.     detailPen,blockPen : SHORTINT;
  419.     idcmpFlags : LONGSET;
  420.     flags : LONGSET;
  421.     firstGadget : GadgetPtr;
  422.     checkMark : ImagePtr;
  423.     title : e.STRPTR;
  424.     screen : ScreenPtr;
  425.     bitMap : g.BitMapPtr;
  426.     minWidth,minHeight : INTEGER;
  427.     maxWidth,maxHeight : INTEGER;
  428.     type : SET;
  429.   END;
  430.   ExtNewWindow = STRUCT (nw : NewWindow) 
  431.     extension : u.TagItemPtr;
  432.   END;
  433.  
  434. CONST
  435.   waDummy = u.user + 99;
  436.   waLeft = waDummy + 001H;
  437.   waTop = waDummy + 002H;
  438.   waWidth = waDummy + 003H;
  439.   waHeight = waDummy + 004H;
  440.   waDetailPen = waDummy + 005H;
  441.   waBlockPen = waDummy + 006H;
  442.   waIDCMP = waDummy + 007H;
  443.   waFlags = waDummy + 008H;
  444.   waGadgets = waDummy + 009H;
  445.   waCheckmark = waDummy + 00AH;
  446.   waTitle = waDummy + 00BH;
  447.   waScreenTitle = waDummy + 00CH;
  448.   waCustomScreen = waDummy + 00DH;
  449.   waSuperBitMap = waDummy + 00EH;
  450.   waMinWidth = waDummy + 00FH;
  451.   waMinHeight = waDummy + 010H;
  452.   waMaxWidth = waDummy + 011H;
  453.   waMaxHeight = waDummy + 012H;
  454.   waInnerWidth = waDummy + 013H;
  455.   waInnerHeight = waDummy + 014H;
  456.   waPubScreenName = waDummy + 015H;
  457.   waPubScreen = waDummy + 016H;
  458.   waPubScreenFallBack = waDummy + 017H;
  459.   waWindowName = waDummy + 018H;
  460.   waColors = waDummy + 019H;
  461.   waZoom = waDummy + 01AH;
  462.   waMouseQueue = waDummy + 01BH;
  463.   waBackFill = waDummy + 01CH;
  464.   waRptQueue = waDummy + 01DH;
  465.   waSizeGadget = waDummy + 01EH;
  466.   waDragBar = waDummy + 01FH;
  467.   waDepthGadget = waDummy + 020H;
  468.   waCloseGadget = waDummy + 021H;
  469.   waBackdrop = waDummy + 022H;
  470.   waReportMouse = waDummy + 023H;
  471.   waNoCareRefresh = waDummy + 024H;
  472.   waBorderless = waDummy + 025H;
  473.   waActivate = waDummy + 026H;
  474.   waRMBTrap = waDummy + 027H;
  475.   waWBenchWindow = waDummy + 028H;
  476.   waSimpleRefresh = waDummy + 029H;
  477.   waSmartRefresh = waDummy + 02AH;
  478.   waSizeBRight = waDummy + 02BH;
  479.   waSizeBBottom = waDummy + 02CH;
  480.   waAutoAdjust = waDummy + 02DH;
  481.   waGimmeZeroZero = waDummy + 02EH;
  482.   waMenuHelp = waDummy + 02FH;
  483.  
  484. TYPE
  485.   Remember = STRUCT 
  486.     nextRemember : RememberPtr;
  487.     rememberSize : LONGINT;
  488.     memory : e.APTR;
  489.   END;
  490.   ColorSpec = STRUCT 
  491.     colorIndex : INTEGER;
  492.     red : INTEGER;
  493.     green : INTEGER;
  494.     blue : INTEGER;
  495.   END;
  496.   EasyStruct = STRUCT 
  497.     structSize : LONGINT;
  498.     flags : LONGSET;
  499.     title : e.STRPTR;
  500.     textFormat : e.STRPTR;
  501.     gadgetFormat : e.STRPTR;
  502.   END;
  503.  
  504. CONST
  505.   noMenu = 0001FU;
  506.   noItem = 0003FU;
  507.   noSub = 0001FU;
  508.   menuNull = 0FFFFU;
  509.   checkWidth = 19;
  510.   commWidth = 27;
  511.   lowCheckWidth = 13;
  512.   lowCommWidth = 16;
  513.   alertType = 80000000H;
  514.   recoveryAlert = 00000000H;
  515.   deadendAlert = 80000000H;
  516.   autoFrontPen = 0;
  517.   autoBackPen = 1;
  518.   autoDrawMode = g.jam2;
  519.   autoLeftEdge = 6;
  520.   autoTopEdge = 3;
  521.   autoITextFont = NIL;
  522.   autoNextText = NIL;
  523.   selectUp = ie.lButton + ie.upPrefix;
  524.   selectDown = ie.lButton;
  525.   menuUp = ie.rButton + ie.upPrefix;
  526.   menuDown = ie.rButton;
  527.   middleDown = ie.mButton;
  528.   middleUp = ie.mButton + ie.upPrefix;
  529.   altLeft = {ie.lAlt};
  530.   altRight = {ie.rAlt};
  531.   amigaLeft = {ie.lCommand};
  532.   amigaRight = {ie.rCommand};
  533.   amigaKeys = amigaLeft + amigaRight;
  534.   cursorUp = 04CH;
  535.   cursorLeft = 04FH;
  536.   cursorRight = 04EH;
  537.   cursorDown = 04DH;
  538.   keyCodeQ = 010H;
  539.   keyCodeZ = 031H;
  540.   keyCodeX = 032H;
  541.   keyCodeV = 034H;
  542.   keyCodeB = 035H;
  543.   keyCodeN = 036H;
  544.   keyCodeM = 037H;
  545.   keyCodeLess = 038H;
  546.   keyCodeGreater = 039H;
  547.  
  548. TYPE
  549.   GadgetInfo = STRUCT 
  550.     screen : ScreenPtr;
  551.     window : WindowPtr;
  552.     requester : RequesterPtr;
  553.     rastPort : g.RastPortPtr;
  554.     layer : g.LayerPtr;
  555.     domain : IBox;
  556.     pens : STRUCT 
  557.       detailPen : SHORTINT;
  558.       blockPen : SHORTINT;
  559.     END;
  560.     drInfo : DrawInfoPtr;
  561.     reserved : ARRAY 6 OF LONGINT;
  562.   END;
  563.   PGX = STRUCT 
  564.     container : IBox;
  565.     newKnob : IBox;
  566.   END;
  567.   ObjectUsr = LONGINT;
  568.   ClassID = e.BYTE;
  569.   Msg = STRUCT 
  570.     methodID : LONGINT;
  571.   END;
  572.  
  573. CONST
  574.   rootClass = "rootclass";
  575.   imageClass = "imageclass";
  576.   frameIClass = "frameiclass";
  577.   sysIClass = "sysiclass";
  578.   fillRectClass = "fillrectclass";
  579.   gadgetClass = "gadgetclass";
  580.   progGClass = "propgclass";
  581.   strGClass = "strgclass";
  582.   buttonGClass = "buttongclass";
  583.   frButtonClass = "frbuttonclass";
  584.   groupGClass = "groupgclass";
  585.   icClass = "icclass";
  586.   modelClass = "modelclass";
  587.   dummy = 0100H;
  588.   new = 0101H;
  589.   dispose = 0102H;
  590.   set = 0103H;
  591.   get = 0104H;
  592.   addTail = 0105H;
  593.   remove = 0106H;
  594.   notify = 0107H;
  595.   update = 0108H;
  596.   addMember = 0109H;
  597.   remMember = 010AH;
  598.  
  599. TYPE
  600.   OpSet = STRUCT (msg : Msg) 
  601.     attrList : u.TagItemPtr;
  602.     gInfo : GadgetInfoPtr;
  603.   END;
  604.   OpUpdate = STRUCT (msg : Msg) 
  605.     attrList : u.TagItemPtr;
  606.     gInfo : GadgetInfoPtr;
  607.     flags : LONGSET;
  608.   END;
  609.  
  610. CONST
  611.   interim = 0;
  612.  
  613. TYPE
  614.   OpGet = STRUCT (msg : Msg) 
  615.     attrID : LONGINT;
  616.     storage : e.APTR;
  617.   END;
  618.   OpAddTail = STRUCT (msg : Msg) 
  619.     list : e.ListPtr;
  620.   END;
  621.   OpMember = STRUCT (msg : Msg) 
  622.     object : ObjectPtr;
  623.   END;
  624.   IClass = STRUCT (dispatcher : u.Hook) 
  625.     reserved : LONGINT;
  626.     super : IClassPtr;
  627.     id : ClassID;
  628.     instOffset : INTEGER;
  629.     instSize : INTEGER;
  630.     userData : LONGINT;
  631.     subclassCount : LONGINT;
  632.     objectCount : LONGINT;
  633.     flags : LONGSET;
  634.   END;
  635.  
  636. CONST
  637.   inList = 0;
  638.  
  639. TYPE
  640.   Object = STRUCT (node : e.MinNode) 
  641.     class : IClassPtr;
  642.   END;
  643.  
  644. CONST
  645.   gaDummy = u.user + 30000H;
  646.   gaLeft = gaDummy + 0001H;
  647.   gaRelRight = gaDummy + 0002H;
  648.   gaTop = gaDummy + 0003H;
  649.   gaRelBottom = gaDummy + 0004H;
  650.   gaWidth = gaDummy + 0005H;
  651.   gaRelWidth = gaDummy + 0006H;
  652.   gaHeight = gaDummy + 0007H;
  653.   gaRelHeight = gaDummy + 0008H;
  654.   gaText = gaDummy + 0009H;
  655.   gaImage = gaDummy + 000AH;
  656.   gaBorder = gaDummy + 000BH;
  657.   gaSelectRender = gaDummy + 000CH;
  658.   gaHighlight = gaDummy + 000DH;
  659.   gaDisabled = gaDummy + 000EH;
  660.   gaGZZGadget = gaDummy + 000FH;
  661.   gaID = gaDummy + 0010H;
  662.   gaUserData = gaDummy + 0011H;
  663.   gaSpecialInfo = gaDummy + 0012H;
  664.   gaSelected = gaDummy + 0013H;
  665.   gaEndGadget = gaDummy + 0014H;
  666.   gaImmediate = gaDummy + 0015H;
  667.   gaRelVerify = gaDummy + 0016H;
  668.   gaFollowMouse = gaDummy + 0017H;
  669.   gaRightBorder = gaDummy + 0018H;
  670.   gaLeftBorder = gaDummy + 0019H;
  671.   gaTopBorder = gaDummy + 001AH;
  672.   gaBottomBorder = gaDummy + 001BH;
  673.   gaToggleSelect = gaDummy + 001CH;
  674.   gaSysGadget = gaDummy + 001DH;
  675.   gaSysGType = gaDummy + 001EH;
  676.   gaPrevious = gaDummy + 001FH;
  677.   gaNext = gaDummy + 0020H;
  678.   gaDrawInfo = gaDummy + 0021H;
  679.   gaIntuiText = gaDummy + 0022H;
  680.   gaLabelImage = gaDummy + 0023H;
  681.   gaTabCycle = gaDummy + 0024H;
  682.   pgaDummy = u.user + 31000H;
  683.   pgaFreedom = pgaDummy + 0001H;
  684.   pgaBorderless = pgaDummy + 0002H;
  685.   pgaHorizPot = pgaDummy + 0003H;
  686.   pgaHorizBody = pgaDummy + 0004H;
  687.   pgaVertPot = pgaDummy + 0005H;
  688.   pgaVertBody = pgaDummy + 0006H;
  689.   pgaTotal = pgaDummy + 0007H;
  690.   pgaVisible = pgaDummy + 0008H;
  691.   pgaTop = pgaDummy + 0009H;
  692.   pgaNewLook = pgaDummy + 000AH;
  693.   stringaDummy = u.user + 32000H;
  694.   stringaMaxChars = stringaDummy + 0001H;
  695.   stringaBuffer = stringaDummy + 0002H;
  696.   stringaUndoBuffer = stringaDummy + 0003H;
  697.   stringaWorkBuffer = stringaDummy + 0004H;
  698.   stringaBufferPos = stringaDummy + 0005H;
  699.   stringaDispPos = stringaDummy + 0006H;
  700.   stringaAltKeyMap = stringaDummy + 0007H;
  701.   stringaFont = stringaDummy + 0008H;
  702.   stringaPens = stringaDummy + 0009H;
  703.   stringaActivePens = stringaDummy + 000AH;
  704.   stringaEditHook = stringaDummy + 000BH;
  705.   stringaEditModes = stringaDummy + 000CH;
  706.   stringaReplaceMode = stringaDummy + 000DH;
  707.   stringaFixedFieldMode = stringaDummy + 000EH;
  708.   stringaNoFilterMode = stringaDummy + 000FH;
  709.   stringaJustification = stringaDummy + 0010H;
  710.   stringaLongVal = stringaDummy + 0011H;
  711.   stringaTextVal = stringaDummy + 0012H;
  712.   stringaExitHelp = stringaDummy + 0013H;
  713.   sgDefaultMaxChars = 128;
  714.   layoutaDummy = u.user + 38000H;
  715.   layoutaLayoutObj = layoutaDummy + 0001H;
  716.   layoutaSpacing = layoutaDummy + 0002H;
  717.   layoutaOrientation = layoutaDummy + 0003H;
  718.   lorientNone = 0;
  719.   lorientHoriz = 1;
  720.   lorientVert = 2;
  721.   gmDummy = -1;
  722.   gmHitTest = 0;
  723.   gmRender = 1;
  724.   gmGoActive = 2;
  725.   gmHandleInput = 3;
  726.   gmGoInactive = 4;
  727.  
  728. TYPE
  729.   HitTest = STRUCT (msg : Msg) 
  730.     gInfo : GadgetInfoPtr;
  731.     mouse : g.Point;
  732.   END;
  733.  
  734. CONST
  735.   gadgetHit = 000000004;
  736.  
  737. TYPE
  738.   Render = STRUCT (msg : Msg) 
  739.     gInfo : GadgetInfoPtr;
  740.     rPort : g.RastPortPtr;
  741.     redraw : LONGINT;
  742.   END;
  743.  
  744. CONST
  745.   gRedrawUpdate = 2;
  746.   gRedrawRedraw = 1;
  747.   gRedrawToggle = 0;
  748.  
  749. TYPE
  750.   Input = STRUCT (msg : Msg) 
  751.     gInfo : GadgetInfoPtr;
  752.     iEvent : ie.InputEventPtr;
  753.     termination : e.APTR;
  754.     mouse : g.Point;
  755.   END;
  756.  
  757. CONST
  758.   gmrMeActive = 0;
  759.   gmrNoReuse = 2;
  760.   gmrReuse = 4;
  761.   gmrVerify = 8;
  762.   gmrNextActive = 16;
  763.   gmrPrevActive = 32;
  764.  
  765. TYPE
  766.   GoInactive = STRUCT (msg : Msg) 
  767.     gInfo : GadgetInfoPtr;
  768.     abort : LONGINT;
  769.   END;
  770.  
  771. CONST
  772.   icmDummy = 00401H;
  773.   icmSetLoop = 00402H;
  774.   icmClearLoop = 00403H;
  775.   icmCheckLoop = 00404H;
  776.   icaDummy = u.user + 040000H;
  777.   icatarget = icaDummy + 1;
  778.   icamap = icaDummy + 2;
  779.   icSpecialCode = icaDummy + 3;
  780.   icTargetIDCMP = -LONGSET{};
  781.   customImageDepth = -1;
  782.   iaDummy = u.user + 20000H;
  783.   iaLeft = iaDummy + 001H;
  784.   iaTop = iaDummy + 002H;
  785.   iaWidth = iaDummy + 003H;
  786.   iaHeight = iaDummy + 004H;
  787.   iaFGPen = iaDummy + 005H;
  788.   iaBGPen = iaDummy + 006H;
  789.   iaData = iaDummy + 007H;
  790.   iaLineWidth = iaDummy + 008H;
  791.   iaPens = iaDummy + 00EH;
  792.   iaResolution = iaDummy + 00FH;
  793.   iaAPattern = iaDummy + 010H;
  794.   iaAPatSize = iaDummy + 011H;
  795.   iaMode = iaDummy + 012H;
  796.   iaFont = iaDummy + 013H;
  797.   iaOutline = iaDummy + 014H;
  798.   iaRecessed = iaDummy + 015H;
  799.   iaDoubleEmboss = iaDummy + 016H;
  800.   iaEdgesOnly = iaDummy + 017H;
  801.   sysiaSize = iaDummy + 00BH;
  802.   sysiaDepth = iaDummy + 00CH;
  803.   sysiaWhich = iaDummy + 00DH;
  804.   sysiaDrawInfo = iaDummy + 018H;
  805.   sysiaPens = iaPens;
  806.   iaShadowPen = iaDummy + 009H;
  807.   iaHighlightPen = iaDummy + 00AH;
  808.   sysIsSizeMedRes = 0;
  809.   sysIsSizeLowRes = 1;
  810.   sysIsSizeHires = 2;
  811.   depthImage = 000H;
  812.   zoomImage = 001H;
  813.   sizeImage = 002H;
  814.   closeImage = 003H;
  815.   sDepthImage = 005H;
  816.   leftImage = 00AH;
  817.   upImage = 00BH;
  818.   rightImage = 00CH;
  819.   downImage = 00DH;
  820.   checkImage = 00EH;
  821.   mxImage = 00FH;
  822.   imDraw = 0202H;
  823.   imHitTest = 0203H;
  824.   imErase = 0204H;
  825.   imMove = 0205H;
  826.   imDrawFrame = 0206H;
  827.   imFrameBox = 0207H;
  828.   imHitFrame = 0208H;
  829.   imEraseFrame = 0209H;
  830.   idsNormal = 0;
  831.   idsSelected = 1;
  832.   idsDisabled = 2;
  833.   idsBusy = 3;
  834.   idsIndeterminate = 4;
  835.   idsInactiveNormal = 5;
  836.   idsInactiveSelected = 6;
  837.   idsInactiveDisabled = 7;
  838.  
  839. TYPE
  840.   FrameBox = STRUCT (msg : Msg) 
  841.     contentsBox : IBoxPtr;
  842.     frameBox : IBoxPtr;
  843.     drInfo : DrawInfoPtr;
  844.     frameFlags : LONGSET;
  845.   END;
  846.  
  847. CONST
  848.   frameFSpecify = 0;
  849.  
  850. TYPE
  851.   Dimensions = STRUCT 
  852.     width : INTEGER;
  853.     height : INTEGER;
  854.   END;
  855.   Draw = STRUCT (msg : Msg) 
  856.     rPort : g.RastPortPtr;
  857.     offset : g.Point;
  858.     state : LONGINT;
  859.     drInfo : DrawInfoPtr;
  860.     dimensions : Dimensions;
  861.   END;
  862.   Erase = STRUCT (msg : Msg) 
  863.     rPort : g.RastPortPtr;
  864.     offset : g.Point;
  865.     dimensions : Dimensions;
  866.   END;
  867.   IMHitTest = STRUCT (msg : Msg) 
  868.     point : g.Point;
  869.     dimensions : Dimensions;
  870.   END;
  871.  
  872. CONST
  873.   filenameSize = 30;
  874.   pointerSize = (1 + 16 + 1) * 2;
  875.   topazEighty = 8;
  876.   topazSixty = 9;
  877.  
  878. TYPE
  879.   Filename = ARRAY filenameSize OF CHAR;
  880.   Preferences = STRUCT 
  881.     fontHeight : SHORTINT;
  882.     printerPort : SHORTINT;
  883.     baudRate : INTEGER;
  884.     keyRptSpeed : t.TimeVal;
  885.     keyRptDelay : t.TimeVal;
  886.     doubleClick : t.TimeVal;
  887.     pointerMatrix : ARRAY pointerSize OF INTEGER;
  888.     xOffset : SHORTINT;
  889.     yOffset : SHORTINT;
  890.     color17 : INTEGER;
  891.     color18 : INTEGER;
  892.     color19 : INTEGER;
  893.     pointerTicks : INTEGER;
  894.     color0 : INTEGER;
  895.     color1 : INTEGER;
  896.     color2 : INTEGER;
  897.     color3 : INTEGER;
  898.     viewXOffset : SHORTINT;
  899.     viewYOffset : SHORTINT;
  900.     viewInitX,viewInitY : INTEGER;
  901.     enableCLI : SET;
  902.     printerType : INTEGER;
  903.     printerFilename : Filename;
  904.     printPitch : INTEGER;
  905.     printQuality : INTEGER;
  906.     printSpacing : INTEGER;
  907.     printLeftMargin : INTEGER;
  908.     printRightMargin : INTEGER;
  909.     printImage : INTEGER;
  910.     printAspect : INTEGER;
  911.     printShade : INTEGER;
  912.     printThreshold : INTEGER;
  913.     paperSize : INTEGER;
  914.     paperLength : INTEGER;
  915.     paperType : INTEGER;
  916.     serRWBits : e.BYTE;
  917.     serStopBuf : e.BYTE;
  918.     serParShk : e.BYTE;
  919.     laceWB : SHORTSET;
  920.     workName : Filename;
  921.     rowSizeChange : SHORTINT;
  922.     columnSizeChange : SHORTINT;
  923.     printFlags : SET;
  924.     printMaxWidth : INTEGER;
  925.     printMaxHeight : INTEGER;
  926.     printDensity : SHORTINT;
  927.     printXOffset : SHORTINT;
  928.     width : INTEGER;
  929.     height : INTEGER;
  930.     depth : SHORTINT;
  931.     extSize : SHORTINT;
  932.   END;
  933.  
  934. CONST
  935.   laceWB = 0;
  936.   lwReserved = 1;
  937.   screenDrag = 14;
  938.   mouseAccel = 15;
  939.   parallelPrinter = 00H;
  940.   serialPrinter = 01H;
  941.   baud110 = 000H;
  942.   baud300 = 001H;
  943.   baud1200 = 002H;
  944.   baud2400 = 003H;
  945.   baud4800 = 004H;
  946.   baud9600 = 005H;
  947.   baud19200 = 006H;
  948.   baudMidi = 007H;
  949.   fanfold = 000H;
  950.   single = 080H;
  951.   pica = 0000H;
  952.   elite = 0400H;
  953.   fine = 0800H;
  954.   draft = 0000H;
  955.   letter = 0100H;
  956.   sixLPI = 0000H;
  957.   eightLPI = 0200H;
  958.   imagePositive = 000H;
  959.   imageNegative = 001H;
  960.   aspectHoriz = 000H;
  961.   aspectVert = 001H;
  962.   shadeBW = 000H;
  963.   shadeGreyScale = 001H;
  964.   shadeColor = 002H;
  965.   usLetter = 000H;
  966.   usLegal = 010H;
  967.   nTractor = 020H;
  968.   wTractor = 030H;
  969.   custom = 040H;
  970.   customName = 000H;
  971.   alphaP101 = 001H;
  972.   brother15XL = 002H;
  973.   cbmMps1000 = 003H;
  974.   diab630 = 004H;
  975.   diabAdvD25 = 005H;
  976.   diabC150 = 006H;
  977.   epson = 007H;
  978.   epsonJX80 = 008H;
  979.   okimate20 = 009H;
  980.   qumeLP20 = 00AH;
  981.   hpLaserjet = 00BH;
  982.   hpLaserjetPlus = 00CH;
  983.   buf512 = 000H;
  984.   buf1024 = 001H;
  985.   buf2048 = 002H;
  986.   buf4096 = 003H;
  987.   buf8000 = 004H;
  988.   buf16000 = 005H;
  989.   readBits = 0F0X;
  990.   writeBits = 00FX;
  991.   stopBits = 0F0X;
  992.   bufSizeBits = 00FX;
  993.   parityBits = 0F0X;
  994.   hShakeBits = 00FX;
  995.   parityNone = 0;
  996.   parityEven = 1;
  997.   parityOdd = 2;
  998.   shakeXon = 0;
  999.   shakeRts = 1;
  1000.   shakeNone = 2;
  1001.   correctRed = 0;
  1002.   correctGreen = 1;
  1003.   correctBlue = 2;
  1004.   centerImage = 3;
  1005.   ignoreDimensions = {};
  1006.   boundedDimensions = 4;
  1007.   absoluteDimensions = 5;
  1008.   pixelDimensions = 6;
  1009.   multiplyDimensions = 7;
  1010.   integerScaling = 8;
  1011.   orderedDithering = {};
  1012.   halftoneDithering = 9;
  1013.   floydDithering = 10;
  1014.   antiAlias = 11;
  1015.   greyScale2 = 12;
  1016.   correctRGBMask = {correctRed, correctGreen, correctBlue};
  1017.   dimensionsMask = {boundedDimensions, absoluteDimensions, pixelDimensions, multiplyDimensions};
  1018.   ditheringMask = {halftoneDithering, floydDithering};
  1019.   driVersion = 1;
  1020.  
  1021. TYPE
  1022.   DrawInfo = STRUCT 
  1023.     version : INTEGER;
  1024.     numPens : INTEGER;
  1025.     pens : e.APTR;
  1026.     font : g.TextFontPtr;
  1027.     depth : INTEGER;
  1028.     resolution : g.Point;
  1029.     flags : LONGSET;
  1030.     reserved : ARRAY 7 OF LONGINT;
  1031.   END;
  1032.  
  1033. CONST
  1034.   drifNewLook = 0;
  1035.   detailPen = 0000H;
  1036.   blockPen = 0001H;
  1037.   textPen = 0002H;
  1038.   shinePen = 0003H;
  1039.   shadowPen = 0004H;
  1040.   fillPen = 0005H;
  1041.   fillTextPen = 0006H;
  1042.   backGroundPen = 0007H;
  1043.   highLightTextPen = 0008H;
  1044.   numDRIPens = 0009H;
  1045.  
  1046. TYPE
  1047.   Screen = STRUCT 
  1048.     nextScreen : ScreenPtr;
  1049.     firstWindow : WindowPtr;
  1050.     leftEdge,topEdge : INTEGER;
  1051.     width,height : INTEGER;
  1052.     mouseY,mouseX : INTEGER;
  1053.     flags : SET;
  1054.     title : e.STRPTR;
  1055.     defaultTitle : e.STRPTR;
  1056.     barHeight,barVBorder,barHBorder,menuVBorder,menuHBorder : SHORTINT;
  1057.     wBorTop,wBorLeft,wBorRight,wBorBottom : SHORTINT;
  1058.     font : g.TextAttrPtr;
  1059.     viewPort : g.ViewPort;
  1060.     rastPort : g.RastPort;
  1061.     bitMap : g.BitMap;
  1062.     layerInfo : g.LayerInfo;
  1063.     firstGadget : GadgetPtr;
  1064.     detailPen,blockPen : SHORTINT;
  1065.     saveColor0 : INTEGER;
  1066.     barLayer : g.LayerPtr;
  1067.     extData : e.APTR;
  1068.     userData : e.APTR;
  1069.   END;
  1070.  
  1071. CONST
  1072.   screenType = {0.reenType..3};
  1073.   wbenchScreen = 0;
  1074.   publicScreen = 1;
  1075.   customScreen = {0.stomScreen..3};
  1076.   showTitle = 4;
  1077.   beeping = 5;
  1078.   customBitMap = 6;
  1079.   screenBehind = 7;
  1080.   screenQuiet = 8;
  1081.   screenHiRes = 9;
  1082.   nsExtended = 12;
  1083.   autoScroll = 14;
  1084.   stdScreenHeight = -1;
  1085.   stdScreenWidth = -1;
  1086.   saDummy = u.user + 32;
  1087.   saLeft = saDummy + 00001H;
  1088.   saTop = saDummy + 00002H;
  1089.   saWidth = saDummy + 00003H;
  1090.   saHeight = saDummy + 00004H;
  1091.   saDepth = saDummy + 00005H;
  1092.   saDetailPen = saDummy + 00006H;
  1093.   saBlockPen = saDummy + 00007H;
  1094.   saTitle = saDummy + 00008H;
  1095.   saColors = saDummy + 00009H;
  1096.   saErrorCode = saDummy + 0000AH;
  1097.   saFont = saDummy + 0000BH;
  1098.   saSysFont = saDummy + 0000CH;
  1099.   saType = saDummy + 0000DH;
  1100.   saBitMap = saDummy + 0000EH;
  1101.   saPubName = saDummy + 0000FH;
  1102.   saPubSig = saDummy + 00010H;
  1103.   saPubTask = saDummy + 00011H;
  1104.   saDisplayID = saDummy + 00012H;
  1105.   saDClip = saDummy + 00013H;
  1106.   saOverscan = saDummy + 00014H;
  1107.   saObsolete1 = saDummy + 00015H;
  1108.   saShowTitle = saDummy + 00016H;
  1109.   saBehind = saDummy + 00017H;
  1110.   saQuiet = saDummy + 00018H;
  1111.   saAutoScroll = saDummy + 00019H;
  1112.   saPens = saDummy + 0001AH;
  1113.   saFullPalette = saDummy + 0001BH;
  1114.   osErrNoMonitor = 1;
  1115.   osErrNoChips = 2;
  1116.   osErrNoMem = 3;
  1117.   osErrNoChipMem = 4;
  1118.   osErrPubNotUnique = 5;
  1119.   osErrUnknownMode = 6;
  1120.  
  1121. TYPE
  1122.   NewScreen = STRUCT 
  1123.     leftEdge,topEdge,width,height,depth : INTEGER;
  1124.     detailPen,blockPen : SHORTINT;
  1125.     viewModes : SET;
  1126.     type : SET;
  1127.     font : g.TextAttrPtr;
  1128.     defaultTitle : e.STRPTR;
  1129.     gadgets : GadgetPtr;
  1130.     customBitMap : g.BitMapPtr;
  1131.   END;
  1132.   ExtNewScreen = STRUCT (ns : NewScreen) 
  1133.     extension : u.TagItemPtr;
  1134.   END;
  1135.  
  1136. CONST
  1137.   oScanText = 1;
  1138.   oScanStandard = 2;
  1139.   oScanMax = 3;
  1140.   oScanVideo = 4;
  1141.  
  1142. TYPE
  1143.   PubScreenNode = STRUCT (node : e.Node) 
  1144.     screen : ScreenPtr;
  1145.     flags : SET;
  1146.     size : INTEGER;
  1147.     visitorCount : INTEGER;
  1148.     sigTask : e.TaskPtr;
  1149.     sigBit : SHORTINT;
  1150.   END;
  1151.  
  1152. CONST
  1153.   psnfPrivate = 0;
  1154.   maxPubScreenName = 139;
  1155.   shanghai = 0;
  1156.   popPubScreen = 1;
  1157.  
  1158. TYPE
  1159.   StringExtend = STRUCT 
  1160.     font : g.TextFontPtr;
  1161.     pens : ARRAY 2 OF SHORTINT;
  1162.     activePens : ARRAY 2 OF SHORTINT;
  1163.     initialMode : LONGSET;
  1164.     editHook : u.HookPtr;
  1165.     workBuffer : e.APTR;
  1166.     reserved : ARRAY 4 OF LONGINT;
  1167.   END;
  1168.   SGWork = STRUCT 
  1169.     gadget : GadgetPtr;
  1170.     stringInfo : StringInfoPtr;
  1171.     workBuffer : e.APTR;
  1172.     prevBuffer : e.APTR;
  1173.     modes : LONGSET;
  1174.     iEvent : ie.InputEventPtr;
  1175.     code : INTEGER;
  1176.     bufferPos : INTEGER;
  1177.     numChars : INTEGER;
  1178.     actions : LONGSET;
  1179.     longInt : LONGINT;
  1180.     gadgetInfo : GadgetInfoPtr;
  1181.     editOp : INTEGER;
  1182.   END;
  1183.  
  1184. CONST
  1185.   eoNoOp = 01H;
  1186.   eoDelBackward = 02H;
  1187.   eoDelForward = 03H;
  1188.   eoMoveCursor = 04H;
  1189.   eoEnter = 05H;
  1190.   eoReset = 06H;
  1191.   eoReplaceChar = 07H;
  1192.   eoInsertChar = 08H;
  1193.   eoBadFormat = 09H;
  1194.   eoBigChange = 0AH;
  1195.   eoUndo = 0BH;
  1196.   eoClear = 0CH;
  1197.   eoSpecial = 0DH;
  1198.   sgmReplace = 0;
  1199.   sgmFixedField = 1;
  1200.   sgmNoFilter = 2;
  1201.   sgmExitHelp = 7;
  1202.   sgmNoChange = 3;
  1203.   sgmNoWorkB = 4;
  1204.   sgmControl = 5;
  1205.   sgmLongint = 6;
  1206.   sgaUse = 0;
  1207.   sgaEnd = 1;
  1208.   sgaBeep = 2;
  1209.   sgaReuse = 3;
  1210.   sgaRedisplay = 4;
  1211.   sgaNextActive = 5;
  1212.   sgaPrevActive = 6;
  1213.   sghKey = 1;
  1214.   sghClick = 2;
  1215.   dModeCount = 2;
  1216.   hiresPick = 0;
  1217.   lowresPick = 1;
  1218.   eventMax = 10;
  1219.   resCount = 2;
  1220.   hiresGadget = 0;
  1221.   lowresGadget = 1;
  1222.   gadgetCount = 8;
  1223.   upFrontGadget = 0;
  1224.   downBackGadget = 1;
  1225.   sizeGadget = 2;
  1226.   closeGadget = 3;
  1227.   dragGadget = 4;
  1228.   sUpFrontGadget = 5;
  1229.   sDownBackGadget = 6;
  1230.   sDragGadget = 7;
  1231.  
  1232. TYPE
  1233.   IntuitionBase = STRUCT (libNode : e.Library) 
  1234.     viewLord : g.View;
  1235.     activeWindow : WindowPtr;
  1236.     activeScreen : ScreenPtr;
  1237.     firstScreen : ScreenPtr;
  1238.     flags : LONGSET;
  1239.     mouseY,mouseX : INTEGER;
  1240.     time : t.TimeVal
  1241.   END;
  1242.  
  1243. TYPE
  1244.   LONGBOOL = LONGINT;
  1245.  
  1246. CONST
  1247.   LTRUE = -1;
  1248.   LFALSE = 0;
  1249.  
  1250. VAR
  1251.   int : IntuitionBasePtr;
  1252.  
  1253. PROCEDURE OpenIntuition();
  1254. PROCEDURE Intuition(iEvent: ie.InputEventPtr);
  1255. PROCEDURE AddGadget(window: WindowPtr; VAR gadget: Gadget; position: LONGINT): INTEGER;
  1256. PROCEDURE ClearDMRequest(window: WindowPtr): BOOLEAN;
  1257. PROCEDURE ClearMenuStrip(window: WindowPtr);
  1258. PROCEDURE ClearPointer(window: WindowPtr);
  1259. PROCEDURE CloseScreen(screen: ScreenPtr): BOOLEAN;
  1260. PROCEDURE OldCloseScreen(screen: ScreenPtr);
  1261. PROCEDURE CloseWindow(window: WindowPtr);
  1262. PROCEDURE CloseWorkBench(): BOOLEAN;
  1263. PROCEDURE CurrentTime(VAR seconds: LONGINT; VAR micros: LONGINT);
  1264. PROCEDURE DisplayAlert(alertNumber: LONGINT; string: ARRAY OF CHAR; height: LONGINT): BOOLEAN;
  1265. PROCEDURE DisplayBeep(screen: ScreenPtr);
  1266. PROCEDURE DoubleClick(sSeconds: LONGINT; sMicros: LONGINT; cSeconds: LONGINT; cMicros: LONGINT): BOOLEAN;
  1267. PROCEDURE DrawBorder(rp: g.RastPortPtr; border: BorderPtr; leftOffset: LONGINT; topOffset: LONGINT);
  1268. PROCEDURE DrawImage(rp: g.RastPortPtr; image: Image; leftOffset: LONGINT; topOffset: LONGINT);
  1269. PROCEDURE EndRequest(requester: RequesterPtr; window: WindowPtr);
  1270. PROCEDURE GetDefPrefs(VAR preferences: ARRAY OF e.BYTE; size: LONGINT);
  1271. PROCEDURE GetPrefs(VAR preferences: ARRAY OF e.BYTE; size: LONGINT);
  1272. PROCEDURE InitRequester(VAR requester: Requester);
  1273. PROCEDURE ItemAddress(menuStrip: Menu; menuNumber: LONGINT): MenuItemPtr;
  1274. PROCEDURE ModifyIDCMP(window: WindowPtr; flags: LONGSET): BOOLEAN;
  1275. PROCEDURE OldModifyIDCMP(window: WindowPtr; flags: LONGSET);
  1276. PROCEDURE ModifyProp(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr; flags: SET; horizPot: LONGINT; vertPot: LONGINT; horizBody: LONGINT; vertBody: LONGINT);
  1277. PROCEDURE MoveScreen(screen: ScreenPtr; dx: LONGINT; dy: LONGINT);
  1278. PROCEDURE MoveWindow(window: WindowPtr; dx: LONGINT; dy: LONGINT);
  1279. PROCEDURE OffGadget(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr);
  1280. PROCEDURE OffMenu(window: WindowPtr; menuNumber: LONGINT);
  1281. PROCEDURE OnGadget(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr);
  1282. PROCEDURE OnMenu(window: WindowPtr; menuNumber: LONGINT);
  1283. PROCEDURE OpenScreen(newScreen: NewScreen): ScreenPtr;
  1284. PROCEDURE OpenWindow(newWindow: NewWindow): WindowPtr;
  1285. PROCEDURE OpenWorkBench(): ScreenPtr;
  1286. PROCEDURE PrintIText(rp: g.RastPortPtr; iText: IntuiText; left: LONGINT; top: LONGINT);
  1287. PROCEDURE RefreshGadgets(gadgets: GadgetPtr; window: WindowPtr; requester: RequesterPtr);
  1288. PROCEDURE RemoveGadget(window: WindowPtr; VAR gadget: Gadget): INTEGER;
  1289. PROCEDURE ReportMouse(window: WindowPtr; flag: LONGBOOL);
  1290. PROCEDURE Request(requester: RequesterPtr; window: WindowPtr): BOOLEAN;
  1291. PROCEDURE ScreenToBack(screen: ScreenPtr);
  1292. PROCEDURE ScreenToFront(screen: ScreenPtr);
  1293. PROCEDURE SetDMRequest(window: WindowPtr; requester: RequesterPtr): BOOLEAN;
  1294. PROCEDURE SetMenuStrip(window: WindowPtr; VAR menu: Menu): BOOLEAN;
  1295. PROCEDURE SetPointer(window: WindowPtr; pointer: ARRAY OF e.BYTE; height: LONGINT; width: LONGINT; xOffset: LONGINT; yOffset: LONGINT);
  1296. PROCEDURE SetWindowTitles(window: WindowPtr; windowTitle: e.ADDRESS; screenTitle: e.ADDRESS);
  1297. PROCEDURE SetWindowTitlesStr(window: WindowPtr; windowTitle: ARRAY OF CHAR; screenTitle: ARRAY OF CHAR);
  1298. PROCEDURE ShowTitle(screen: ScreenPtr; showIt: LONGBOOL);
  1299. PROCEDURE SizeWindow(window: WindowPtr; dx: LONGINT; dy: LONGINT);
  1300. PROCEDURE ViewAddress(): g.ViewPtr;
  1301. PROCEDURE ViewPortAddress(window: WindowPtr): g.ViewPortPtr;
  1302. PROCEDURE WindowToBack(window: WindowPtr);
  1303. PROCEDURE WindowToFront(window: WindowPtr);
  1304. PROCEDURE WindowLimits(window: WindowPtr; widthMin: LONGINT; heightMin: LONGINT; widthMax: LONGINT; heightMax: LONGINT): BOOLEAN;
  1305. PROCEDURE SetPrefs(preferences: ARRAY OF e.BYTE; size: LONGINT; inform: LONGBOOL);
  1306. PROCEDURE IntuiTextLength(iText: IntuiText): INTEGER;
  1307. PROCEDURE WBenchToBack(): BOOLEAN;
  1308. PROCEDURE WBenchToFront(): BOOLEAN;
  1309. PROCEDURE AutoRequest(window: WindowPtr; body: IntuiTextPtr; posText: IntuiTextPtr; negText: IntuiTextPtr; pFlag: LONGSET; nFlag: LONGSET; width: LONGINT; height: LONGINT): BOOLEAN;
  1310. PROCEDURE BeginRefresh(window: WindowPtr);
  1311. PROCEDURE BuildSysRequest(window: WindowPtr; body: IntuiTextPtr; posText: IntuiTextPtr; negText: IntuiTextPtr; flags: LONGSET; width: LONGINT; height: LONGINT): WindowPtr;
  1312. PROCEDURE EndRefresh(window: WindowPtr; complete: LONGBOOL);
  1313. PROCEDURE FreeSysRequest(window: WindowPtr);
  1314. PROCEDURE MakeScreen(screen: ScreenPtr);
  1315. PROCEDURE RemakeDisplay();
  1316. PROCEDURE RethinkDisplay();
  1317. PROCEDURE AllocRemember(VAR rememberKey: RememberPtr; size: LONGINT; flags: LONGSET): e.APTR;
  1318. PROCEDURE AlohaWorkbench(wbport: e.MsgPortPtr);
  1319. PROCEDURE FreeRemember(VAR rememberKey: RememberPtr; reallyForget: LONGBOOL);
  1320. PROCEDURE LockIBase(dontknow: LONGINT): LONGINT;
  1321. PROCEDURE UnlockIBase(ibLock: LONGINT);
  1322. PROCEDURE GetScreenData(VAR buffer: Screen; size: LONGINT; type: SET; screen: ScreenPtr): BOOLEAN;
  1323. PROCEDURE RefreshGList(gadgets: GadgetPtr; window: WindowPtr; requester: RequesterPtr; numGad: LONGINT);
  1324. PROCEDURE AddGList(window: WindowPtr; gadget: GadgetPtr; position: LONGINT; numGad: LONGINT; requester: RequesterPtr): INTEGER;
  1325. PROCEDURE RemoveGList(remPtr: WindowPtr; gadget: GadgetPtr; numGad: LONGINT): INTEGER;
  1326. PROCEDURE ActivateWindow(window: WindowPtr): BOOLEAN;
  1327. PROCEDURE OldActivateWindow(window: WindowPtr);
  1328. PROCEDURE RefreshWindowFrame(window: WindowPtr);
  1329. PROCEDURE ActivateGadget(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr): BOOLEAN;
  1330. PROCEDURE NewModifyProp(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr; flags: SET; horizPot: LONGINT; vertPot: LONGINT; horizBody: LONGINT; vertBody: LONGINT; numGad: LONGINT);
  1331. PROCEDURE QueryOverscan(displayID: LONGINT; rect: g.Rectangle; oScanType: LONGINT): LONGINT;
  1332. PROCEDURE MoveWindowInFrontOf(window: WindowPtr; behindWindow: WindowPtr);
  1333. PROCEDURE ChangeWindowBox(window: WindowPtr; left: LONGINT; top: LONGINT; width: LONGINT; height: LONGINT);
  1334. PROCEDURE SetEditHook(hook: u.HookPtr): u.HookPtr;
  1335. PROCEDURE SetMouseQueue(window: LONGINT; queueLength: LONGINT): LONGINT;
  1336. PROCEDURE ZipWindow(window: WindowPtr);
  1337. PROCEDURE LockPubScreen(name: ARRAY OF CHAR): ScreenPtr;
  1338. PROCEDURE UnlockPubScreen(name: ARRAY OF CHAR; screen: ScreenPtr);
  1339. PROCEDURE LockPubScreenList(): e.ListPtr;
  1340. PROCEDURE UnlockPubScreenList();
  1341. PROCEDURE NextPubScreen(screen: ScreenPtr; VAR name: ARRAY OF CHAR): e.STRPTR;
  1342. PROCEDURE SetDefaultPubScreen(name: ARRAY OF CHAR);
  1343. PROCEDURE SetPubScreenModes(modes: SET): SET;
  1344. PROCEDURE PubScreenStatus(screen: ScreenPtr; statusFlags: SET): SET;
  1345. PROCEDURE ObtainGIRPort(gInfo: GadgetInfoPtr): g.RastPortPtr;
  1346. PROCEDURE ReleaseGIRPort(rp: g.RastPortPtr);
  1347. PROCEDURE GadgetMouse(VAR gadget: Gadget; gInfo: GadgetInfoPtr; VAR mousePoint: g.Point);
  1348. PROCEDURE SetIPrefs(ptr: e.APTR; size: LONGINT; type: LONGINT);
  1349. PROCEDURE GetDefaultPubScreen(VAR nameBuffer: ARRAY OF CHAR);
  1350. PROCEDURE EasyRequestArgs(window: WindowPtr; easyStruct: EasyStructPtr; idcmpPtr: e.APTR; args: e.APTR): LONGINT;
  1351. PROCEDURE EasyRequest(window: WindowPtr; easyStruct: EasyStructPtr; idcmpPtr: e.APTR; arg1..: e.APTR): LONGINT;
  1352. PROCEDURE BuildEasyRequestArgs(window: WindowPtr; easyStruct: EasyStructPtr; idcmp: LONGSET; args: e.APTR): WindowPtr;
  1353. PROCEDURE BuildEasyRequest(window: WindowPtr; easyStruct: EasyStructPtr; idcmp: LONGSET; arg1..: e.APTR): WindowPtr;
  1354. PROCEDURE SysReqHandler(window: WindowPtr; idcmpPtr: e.APTR; waitInput: LONGBOOL): LONGINT;
  1355. PROCEDURE OpenWindowTagList(newWindow: NewWindow; tagList: ARRAY OF u.TagItem): WindowPtr;
  1356. PROCEDURE OpenWindowTags(newWindow: NewWindow; tag1..: u.Tag): WindowPtr;
  1357. PROCEDURE OpenWindowTagListA(newWindow: NewWindowPtr; tagList: ARRAY OF u.TagItem): WindowPtr;
  1358. PROCEDURE OpenWindowTagsA(newWindow: NewWindowPtr; tag1..: u.Tag): WindowPtr;
  1359. PROCEDURE OpenScreenTagList(newScreen: NewScreen; tagList: ARRAY OF u.TagItem): ScreenPtr;
  1360. PROCEDURE OpenScreenTags(newScreen: NewScreen; tag1..: u.Tag): ScreenPtr;
  1361. PROCEDURE OpenScreenTagListA(newScreen: NewScreenPtr; tagList: ARRAY OF u.TagItem): ScreenPtr;
  1362. PROCEDURE OpenScreenTagsA(newScreen: NewScreenPtr; tag1..: u.Tag): ScreenPtr;
  1363. PROCEDURE DrawImageState(rp: g.RastPortPtr; image: Image; leftOffset: LONGINT; topOffset: LONGINT; state: LONGINT; drawInfo: DrawInfoPtr);
  1364. PROCEDURE PointInImage(point: LONGINT; image: Image): BOOLEAN;
  1365. PROCEDURE EraseImage(rp: g.RastPortPtr; image: Image; leftOffset: LONGINT; topOffset: LONGINT);
  1366. PROCEDURE NewObjectA(clacc: IClassPtr; classID: ARRAY OF CHAR; tagList: ARRAY OF u.TagItem): e.APTR;
  1367. PROCEDURE NewObject(clacc: IClassPtr; classID: ARRAY OF CHAR; tag1..: u.Tag): e.APTR;
  1368. PROCEDURE DisposeObject(object: e.APTR);
  1369. PROCEDURE SetAttrsA(object: e.APTR; tagList: ARRAY OF u.TagItem): LONGINT;
  1370. PROCEDURE SetAttrs(object: e.APTR; tag1..: u.Tag): LONGINT;
  1371. PROCEDURE GetAttr(attrID: LONGINT; object: e.APTR; VAR storage: ARRAY OF e.BYTE): LONGINT;
  1372. PROCEDURE SetGadgetAttrsA(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr; tagList: ARRAY OF u.TagItem): LONGINT;
  1373. PROCEDURE SetGadgetAttrs(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr; tag1..: u.Tag): LONGINT;
  1374. PROCEDURE NextObject(VAR objectPtr: ObjectPtr): e.APTR;
  1375. PROCEDURE FindClass(classID: ARRAY OF CHAR): IClassPtr;
  1376. PROCEDURE MakeClass(classID: ARRAY OF CHAR; superClassID: ARRAY OF CHAR; superClassPtr: IClassPtr; instanceSize: LONGINT; flags: LONGSET): IClassPtr;
  1377. PROCEDURE AddClass(class: IClassPtr);
  1378. PROCEDURE GetScreenDrawInfo(screen: ScreenPtr): DrawInfoPtr;
  1379. PROCEDURE FreeScreenDrawInfo(screen: ScreenPtr; drawInfo: DrawInfoPtr);
  1380. PROCEDURE ResetMenuStrip(window: WindowPtr; VAR menu: Menu): BOOLEAN;
  1381. PROCEDURE RemoveClass(classPtr: IClassPtr);
  1382. PROCEDURE FreeClass(classPtr: IClassPtr): BOOLEAN;
  1383. PROCEDURE lockPubClass();
  1384. PROCEDURE unlockPubClass();
  1385. PROCEDURE MenuNum(n: INTEGER): INTEGER;
  1386. PROCEDURE ItemNum(n: INTEGER): INTEGER;
  1387. PROCEDURE SubNum(n: INTEGER): INTEGER;
  1388. PROCEDURE ShiftMenu(n: INTEGER): INTEGER;
  1389. PROCEDURE ShiftItem(n: INTEGER): INTEGER;
  1390. PROCEDURE ShiftSub(n: INTEGER): INTEGER;
  1391. PROCEDURE FullMenuNum(menu, item, sub: INTEGER): INTEGER;
  1392. PROCEDURE SRBNum(n: e.BYTE): INTEGER;
  1393. PROCEDURE SWBNum(n: e.BYTE): INTEGER;
  1394. PROCEDURE SSBNum(n: e.BYTE): INTEGER;
  1395. PROCEDURE SPARNum(n: e.BYTE): INTEGER;
  1396. PROCEDURE SHAKNum(n: e.BYTE): INTEGER;
  1397. PROCEDURE CustomHook(VAR g: Gadget): u.HookPtr;
  1398. PROCEDURE GadgetBox(VAR g: Gadget): IBoxPtr;
  1399. PROCEDURE IMBox(VAR i: Image): IBoxPtr;
  1400. PROCEDURE FGPen(VAR i: Image): SHORTINT;
  1401. PROCEDURE BGPen(VAR i: Image): SHORTINT;
  1402. PROCEDURE BoolToLong(b: BOOLEAN): LONGBOOL;
  1403. PROCEDURE UIntToLong(i: INTEGER): LONGINT;
  1404. PROCEDURE LongToUInt(l: LONGINT): INTEGER;
  1405. PROCEDURE ScreenToRastPort(s: ScreenPtr): g.RastPortPtr;
  1406. PROCEDURE ScreenToViewPort(s: ScreenPtr): g.ViewPortPtr;
  1407.  
  1408. END Intuition.
  1409.  
  1410.